home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-2.iso / os2 / tserve10.zip / TSERVE.DOC < prev    next >
Text File  |  1996-01-26  |  13KB  |  255 lines

  1. TSERVE V1.0b Technical Documentation.
  2.  
  3.         This document covers some of the more detailed technical issues and
  4. specifications. Most of the configuration information you need can be found
  5. in the sample .CFG and .USR files. Other technical information is available
  6. in the .ISP file which is a text document about setting youself up as an 
  7. internet service provider using warp connect.
  8.  
  9.         TSERVE is a rudamentary terminal server program for OS/2 Warp 
  10. Connect. If you have a dedicated connection to the internet, and a machine 
  11. running OS/2 warp connect, you can be an internet provider. The .ISP 
  12. document explains how to set up a system just like the one we use here at 
  13. Micro-Neil. (more or less)
  14.  
  15.         TSERVE is a small command line utility that should typically be run
  16. in a .CMD file. We could have made it into a large, impressive, PM 
  17. application with lots of buttons and bells and whistles, but that would 
  18. have been a lot more than was needed. Also, if you're serious about 
  19. providing internet access, the smaller, faster program is much better. We 
  20. are looking into a PM configuration utility for a later version of TSERVE 
  21. which will allow you to use the familiar notebook strategy for modifying 
  22. and updating all of the configuration files you need for TSERVE. Stay tuned
  23. on that one :-)
  24.  
  25.         I reccomend that you install TSERVE in it's own directory so that 
  26. you can keep all of your configuration information in one place. This isn't
  27. necessary, though, since TSERVE will run from anywhere as long as the 
  28. configuration file is accessible, and the paths listed in that file are 
  29. explicit enough. TSERVE always looks for files from the perspective of the 
  30. current working directory. Therefore, if you run TSERVE from your BBS 
  31. directory, and your configuration and user list files are somewhere else, 
  32. you need to have complete paths in your configuration file. The sample 
  33. configuration doesn't do that, so pay attention.
  34.  
  35.         To start tserve, you simply run the program and pass it the path to
  36. your configuration file. From then on, it's up to the configuration file to
  37. tell it what to do. Please read all of the text files in this package 
  38. before you attempt to run tserve. You will save yourself a lot of headaches
  39. in the long run. An example command line might be:
  40.  
  41. tserve node1.cfg
  42.  
  43.         When TSERVE starts, the first thing it does is read the 
  44. configuration file. This file tells it what com port to use, what speed to 
  45. expect, the path to the user list file, and all of the other parameters 
  46. that are important. You can change this file with a regular text editor, 
  47. and the sample is well documented. I reccomend that once you get up to 
  48. speed on how to configure TSERVE you should delete all the comments and 
  49. make your configuration files a lot shorter. This will make TSERVE load 
  50. just a bit faster, and there's less chance of something in one of your
  51. comments being accidentally interpereted as a set-up parameter.
  52.  
  53.         The next thing TSERVE does is reset and initialize the modem. It 
  54. will drop DTR, wait a few seconds for that to sink in, then raise DTR and 
  55. send the INIT: string to the modem. You should have your modem set up to 
  56. reset, hang up, and return to the command state when DTR is "cycled." You 
  57. should also make sure that another program hasn't set the mode of the com 
  58. port so that DTR cannot be used this way. OS/2 is very robust in it's 
  59. treatment of com ports and allows programs to establish elaborate and 
  60. strange handshaking arangements with other devices. You should make sure 
  61. that the DTR mode is ON (look up your OS/2 documentation on the MODE 
  62. command) to insure that the DTR signal can be controlled directly by 
  63. TSERVE. There is more information about initializing the modem in the 
  64. sample configuration file.
  65.  
  66.         Once the modem has been initialized, TSERVE will wait for a caller.
  67. When the modem sends back a "RING" signal, TSERVE will instruct the modem 
  68. to answer the phone "ATA". Once the connection is made, TSERVE will attempt
  69. to read the caller's connect speed from the connect message and store it 
  70. for later use. For example: "CONNECT 24000 LAPM" If your modem doesn't send
  71. the connect speed as part of the message, TSERVE will default to the fixed 
  72. baud rate you set in the config file.
  73.  
  74.         IT IS IMPORTANT TO NOTE: TSERVE DOES NOT SET THE COM PORT's SPEED 
  75. OR OTHER PARAMETERS, IT TAKES THINGS AS IT FINDS THEM. YOU SHOULD SET THE
  76. COM PORT's OPERATING PARAMETERS USING THE MODE COMMAND.
  77.  
  78.         When the modems are connected, TSERVE will send the welcome file 
  79. and prompt the user for a login code. The user has 5 chances to enter a 
  80. login code. If they skip it by pressing <cr> without entering anything, the
  81. login: prompt will be displayed again. This is to allow for some automatic 
  82. login scripts (such as OS/2's Dial Other Proviers) which send a few extra 
  83. carriage returns just because. TSERVE will ignore them.
  84.  
  85.         After reading the dailer's login code, TSERVE will open and read 
  86. the user list. If it locates a user entry with the same login code, it will
  87. read the line from the user list and prepare to verify the user. If the 
  88. line contains a password, the user will be prompted to enter the password. 
  89. TSERVER will echo periods for each letter, and backspace does work, 
  90. however, the password function is written with the assumption that it will 
  91. be talking to a dial-in script engine that's not likely to make a mistake. 
  92. There is only one chance to get the password right. If the password is 
  93. wrong, the caller is immediatly disconnected and TSERVE will end.
  94.  
  95.         If the login code is not found in the user list, TSERVE will spawn 
  96. the BBS program using the command line listed in the configuration file. 
  97. Please read the sample file documentation. You can create just about any 
  98. command line you'd like using the macro's provided by TSERVE.
  99.  
  100.         If the login code is found in the user list and the password is 
  101. entered correctly, then TSEVER will spawn the PPP program using the command
  102. line listed in the configuration file. Again, you can create just about any
  103. command line you need to with the macro's provided by TSERVE. This includes
  104. HOST and USER IP addresses as defined by the configuration file and the 
  105. user's entry. It is possible to assign specific addresses for each user.
  106.  
  107.         The BBS and PPP command lines executed by TSERVE need not be the 
  108. programs themselves, although this is the best approach. It is possible to 
  109. execute .CMD or .RXX programs in their places so that you can handle extra 
  110. processing or error handling. This might be the case if you need to look 
  111. for net-mail processing from your BBS package (like Maximus) or if you want
  112. to make special routing entries before and after running PPP.
  113.  
  114.         TSERVE opens the com port you define in the config file in a shared
  115. mode so that PPP can have control of it. TSERVE also provides the hot file 
  116. handle so that you can run a package (like Maximus) which needs that. Such 
  117. a program is considered a "child process" so it inherits access to the open
  118. file handle.
  119.  
  120.         Whatever program you run from TSERVE must end! If it doesn't end 
  121. and give control back to TSERVE, then TSERVE can't help you. This is 
  122. especailly important for Maximus user's who typically run their program in 
  123. a loop in a .cmd file. For these users, I reccomend that you either run 
  124. Maximus directly from the TSERVE program as I do in the examples, or that 
  125. you remove the loop and the mode command from your Maximus .cmd file. If 
  126. you've been able to get Maximus running happily for you, you should have no
  127. trouble understanding how to set this up.
  128.  
  129.         Once a caller has been handled, TSERVE will end and close the com 
  130. port. Before it does, it attempts to hang up the modem. TSERVE will wait a 
  131. few seconds, send "+++", wait a few more seconds (guard time) and then send
  132. "ATH0". If your modem is already hung up (on hook) then this will have no 
  133. ill effects. If your modem isn't already hung up, it should regain control 
  134. of the modem gracefully.
  135.  
  136.         TSERVE should be run in an endless loop in a .CMD file. Please take
  137. a look at the sample .cmd file that I've included. This is the same file I 
  138. use on my system.
  139.  
  140.         Each incoming line needs to have it's own configuration file. Most 
  141. of the time, the only differences in the command files are the task number,
  142. the com port, and the default IP addresses. The rest can be copied 
  143. verbatim.
  144.  
  145.         TSERVE will share the userlist file (or any other except it's log) 
  146. with other nodes. However, it is possible to set up different userlist 
  147. files for each node, or group of nodes, by specifying different files in 
  148. the configuration.
  149.  
  150.  
  151. LOGGING AND ERRORS:
  152.  
  153.         TSERVE provides a simple, but effective error and logging system. 
  154. You can have TSERVE produce a log file containing all of it's activity, or 
  155. just bits and pieces. Then you can use this file for billing purposes if 
  156. you want to charge by the hour or minute. You've probably noticed, however,
  157. that most ISP's these days are offering unmetered access, so it's up to 
  158. you. The configuration file contains information on formatting your log 
  159. file and deciding which events you want included. Listed below are all of 
  160. the evnets, there errorlevel (if TSERVE will exit), and the event flag(s) 
  161. that will include the event(s) in the log file.
  162.  
  163.  
  164. ERRLVL  FLAGS   EVENT STRING
  165.  
  166. 10 -- Command line error, not posted to log file.
  167. 11 -- Initialization error, not posted to log file.
  168. 12 -- Invalid or unreadably configuration file, not posted to log file.
  169.  
  170.         B       TSERVE STARTED.
  171. 13      X       ERROR OPENING COM PORT!
  172.         S       SECURITY EVENT, WRONG PASSWORD!
  173. 14      X       ERROR INITIALIZING MODEM!
  174. 0       XE      TSERVE ENDING, NO CALLER.
  175.         R       RING
  176. 15      XN      NO CONNECTION AFTER RING!
  177. 16      X       ERROR SENDING HELO!
  178. 17      XO      FAILURE TO GET LOGIN!
  179.         L       LOGIN.
  180. 18      X       ERROR READING USER LIST!
  181. 19      XQ      BAD/NO PASSWORD!
  182.         P       PASSWORD.
  183. 20      X       SPAWNING PPP DID NOT RETURN 0!
  184. 21      X       ERROR SENDING POST!
  185. 22      X       SPAWNING BBS DID NOT RETURN 0!
  186. 0       X       UNCERTAIN HANGUP!
  187. 23      X       ERROR CLOSEING COM PORT!
  188. 0       E       TSERVE ENDED.
  189.         I       STARTING PPP LINK.
  190.         J       ENDED PPP LINK.
  191.         M       STARTING BBS LINK.
  192.         Z       ENDED BBS LINK.
  193.  
  194. TSERVE LICENSE:
  195.  
  196.         TSERVE is a shareware program. It is NOT FREE software. You are 
  197. free to use this package for 30 days on a single computer while you 
  198. evaluate the program. If you continue to use it after 30 days, you MUST 
  199. register your copy of TSERVE. If you intend to use TSERVE on more than one 
  200. computer, you must register it for each computer you install it on. The 
  201. price for the registered version is $60 (US dollars). You can register 
  202. your TSERVE package by filling out the order form in ORDER.TXT and faxing, 
  203. mailing, or e-mailing that form to Micro-Neil. You will receive a disk with
  204. a registered version of the program, and you will be entitled to all minor 
  205. upgrades within the current major version.
  206.  
  207.         You may freely distribute the TSERVE10.ZIP package provided that 
  208. you do not charge for this distribution and that you make NO ALTERATIONS 
  209. whatsoever to the contents of the file(s).
  210.  
  211.         You may not include all or part of the TSERVE package in other 
  212. software, documentation, or any other media without the express written 
  213. consent of Micro-Neil.
  214.  
  215.         You may not disassemble or modify the executable(s) contianed in 
  216. this package, and you may not copy or reproduce portions of the files 
  217. without express written permission from Micro-Neil.
  218.  
  219.         If you use this package for any period of time, you are agreeing to
  220. abide by the terms of this license.
  221.  
  222. *********
  223.  
  224.         This software is not guaranteed to work on your system, nor is it 
  225. guaranteed not to cause harm to your system or data. You use this program 
  226. at your own risk.
  227.  
  228.         If this program causes any damage or data loss by it's use or 
  229. misuse by you or anyone associated with you in any way, Micro-Neil may not 
  230. be held responsible for any loss or damages, wether directly or indirectly
  231. caused by the use or misuse of this program or it's documentation.
  232.  
  233. *********
  234.  
  235.         At Micro-Neil we feel it is very important for our products to
  236. perform as we advertise. If you have trouble with any of our products,
  237. please notify us of your problem with as much detail as possible so that we
  238. may have the oportunity to correct the problem and improve the product. We 
  239. also welcome any suggestions for improvemtents or new products or services.
  240. We sincerely hope that our products can help you achieve your goals.
  241.  
  242. ***************** CREDITS ************************************************
  243.  
  244. Special thanks to:
  245.  
  246. Chris Haddox    Who helped solve the arp / routing problem.
  247. David Klett     Who enlisted and supported outside users in testing.
  248. Linda McNeil    Who helped edit and review the technical documentation.
  249. Puffins         Who reminded me when it was time to sleep, and time to fill
  250.                 her food bowl.
  251.  
  252. -Peter G. McNeil
  253.  
  254.  
  255.